Programmable logic devices (PLDs) may be programmed to implement a wide variety of user designs. A PLD is programmed to implement a particular user design by loading a configuration generated from a specification of the user design into the PLD. The PLD includes configurable logic and routing resources that implement the user design when programmed with the configuration. The configurable logic resources may be programmed to implement a variety of functions and the configurable routing resources may be programmed to implement a variety of connections within the PLD.
Development of a PLD itself requires specifying the design of the PLD, including specifying the design of the programmable routing resources. The design of a PLD may be specified by schematics of the circuit connections of the PLD. Development of a PLD also generally requires updating of software tools used to translate a user design into a configuration for the PLD. A separate interconnection model may be developed to provide an abstract software model of the programmable routing resources. Thus, various aspects of the PLD related to programmable routing resources may have three separate representations, a schematic representation of the programmable routing resources, a software representation within the tools used to translate a user design into a configuration, and an interconnection model for high-level modeling.
Inconsistencies between these representations of the programmable routing resources may prevent the successful translation of a particular user design into a configuration for the PLD. Such inconsistencies may be discovered prior to fabrication of the PLD and during development of a production test suite for the PLD. However, development of the production test suite may be delayed until the design of the PLD is completed or nearly completed. Furthermore, evaluation of test coverage of the production test suite may be delayed until production testing begins for the fabricated PLD. Thus, certain inconsistencies, such as an inconsistency that is not tested by the production test suite as discovered during evaluation of test coverage of the production test suite, may remain undiscovered until fabricated PLDs become available. The isolation and correction of inconsistencies discovered using fabricated PLDs may be expensive and time-consuming. In addition, shipment of the fabricated PLDs to users may be delayed until these inconsistencies are resolved.
The present invention may address one or more of the above issues.